<!--$Id: mempfile_class.so,v 10.24 2004/08/13 03:38:58 bostic Exp $-->
<!--Copyright (c) 1997,2008 Oracle.  All rights reserved.-->
<!--See the file LICENSE for redistribution information.-->
<html>
<head>
<title>Berkeley DB: DB_MPOOLFILE</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++">
</head>
<body bgcolor=white>
<table width="100%"><tr valign=top>
<td>
<b>DB_MPOOLFILE</b>
</td>
<td align=right>
<a href="../api_c/api_core.html"><img src="../images/api.gif" alt="API"></a>
<a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a></td>
</tr></table>
<hr size=1 noshade>
<tt>
<b><pre>
#include &lt;db.h&gt;
<p>
typedef struct __db_mpoolfile DB_MPOOLFILE;
</pre></b>
<hr size=1 noshade>
<b>Description: DB_MPOOLFILE</b>
<p>The memory pool interfaces for the Berkeley DB database environment are
methods of the <a href="../api_c/env_class.html">DB_ENV</a> handle.  The <a href="../api_c/env_class.html">DB_ENV</a> memory pool
methods and the DB_MPOOLFILE class provide general-purpose,
page-oriented buffer management of files.  Although designed to work
with the other <a href="../api_c/db_class.html">DB</a> classes, they are also useful for more general
purposes.  The memory pools are referred to in this document as simply
<i>pools</i>.</p>
<p>Pools may be shared between processes.  Pools are usually filled by
pages from one or more files.  Pages in the pool are replaced in LRU
(least-recently-used) order, with each new page replacing the page that
has been unused the longest.  Pages retrieved from the pool using
<a href="../api_c/memp_fget.html">DB_MPOOLFILE-&gt;get</a> are <i>pinned</i> in the pool until they are
returned to the control of the buffer pool using the <a href="../api_c/memp_fput.html">DB_MPOOLFILE-&gt;put</a>
method.</p>
<p>The DB_MPOOLFILE object is the handle for a file in the memory
pool.  The handle is not free-threaded.  Once the <a href="../api_c/memp_fclose.html">DB_MPOOLFILE-&gt;close</a> method
is called, the handle may not be accessed again, regardless of that
method's return.</p>
<hr size=1 noshade>
<br><b>Class</b>
<a href="../api_c/env_class.html">DB_ENV</a>, DB_MPOOLFILE
<br><b>See Also</b>
<a href="../api_c/memp_list.html">Memory Pools and Related Methods</a>
</tt>
<table width="100%"><tr><td><br></td><td align=right>
<a href="../api_c/api_core.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1>Copyright (c) 1996,2008 Oracle.  All rights reserved.</font>
</body>
</html>
